{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "kernelspec": {
      "display_name": "Python 3",
      "language": "python",
      "name": "python3"
    },
    "language_info": {
      "codemirror_mode": {
        "name": "ipython",
        "version": 3
      },
      "file_extension": ".py",
      "mimetype": "text/x-python",
      "name": "python",
      "nbconvert_exporter": "python",
      "pygments_lexer": "ipython3",
      "version": "3.7.3"
    },
    "colab": {
      "name": "01 - image basics.ipynb",
      "provenance": [],
      "include_colab_link": true
    }
  },
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "view-in-github",
        "colab_type": "text"
      },
      "source": [
        "<a href=\"https://colab.research.google.com/github/jalammar/jalammar.github.io/blob/master/notebooks/cv/01_image_basics.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "TsRc6kUMhjXo",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "from matplotlib import pyplot as plt\n",
        "import numpy as np"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "K8ozdrg8jin8",
        "colab_type": "text"
      },
      "source": [
        "## Black Image"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "7oVfS0_ChjXt",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "black = np.zeros([10,10])"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "p8ZQ4V_riT1P",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 187
        },
        "outputId": "66b53d3b-1891-437d-a3f3-1b0eeed30605"
      },
      "source": [
        "black"
      ],
      "execution_count": 37,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "array([[0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],\n",
              "       [0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],\n",
              "       [0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],\n",
              "       [0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],\n",
              "       [0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],\n",
              "       [0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],\n",
              "       [0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],\n",
              "       [0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],\n",
              "       [0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],\n",
              "       [0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]])"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 37
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "uLOXbKAhhjXy",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 282
        },
        "outputId": "ca3af530-8cdd-412d-f958-a230db928d43"
      },
      "source": [
        "plt.imshow(np.zeros([10,10]), cmap=\"gray\", vmin=0, vmax=255)"
      ],
      "execution_count": 3,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<matplotlib.image.AxesImage at 0x7f75e3a9c438>"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 3
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPUAAAD4CAYAAAA0L6C7AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0\ndHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAJHUlEQVR4nO3dTYhdhR2G8edtxqDRokI3mkhNQSwi\ntEoQP0opasGiaBddKNiFm2xq/aBFrNBld1J0UQohVQqKLqILEVEXldJNg2MiaBItIVqNH2hpq9KN\niv8uZtpGk8w9uXNvz8zf57fKnJx7eZF5POfeuWFSVUjq4ytjD5A0W0YtNWPUUjNGLTVj1FIzC/N4\n0iS+pS7NWVXlWMe9UkvNGLXUjFFLzRi11IxRS80YtdSMUUvNDIo6yTVJXk1yMMnd8x4laXqZ9E8v\nk2wA/gJ8HzgMPA/cVFX7V3iMHz6R5mw1Hz65BDhYVYeq6mPgUeCGWY6TNDtDot4MvHnE14eXj31O\nku1JFpMszmqcpBM3s89+V9UOYAd4+y2NaciV+i3gnCO+3rJ8TNIaNCTq54HzkmxNshG4EXhivrMk\nTWvi7XdVfZrkVuAZYAPwQFXtm/sySVOZ+COtqZ7U19TS3PnvqaUvCaOWmjFqqRmjlpoxaqkZo5aa\nMWqpGaOWmjFqqRmjlpoxaqkZo5aaMWqpGaOWmjFqqRmjlpoxaqkZo5aaMWqpGaOWmjFqqRmjlpox\naqkZo5aaMWqpGaOWmjFqqRmjlpoxaqkZo5aaMWqpGaOWmjFqqRmjlpoxaqmZiVEnOSfJc0n2J9mX\n5Pb/xzBJ00lVrXxCchZwVlXtSfJV4AXgh1W1f4XHrPykklatqnKs4xOv1FX1TlXtWf7zR8ABYPNs\n50malYUTOTnJucBFwO5j/N12YPtMVkma2sTb7/+emJwG/BH4VVU9PuFcb7+lOZv69hsgyUnAY8DD\nk4KWNK4hb5QF+D3w96q6Y9CTeqWW5u54V+ohUX8H+BPwEvDZ8uF7quqpFR5j1NKcTR31NIxamr9V\nvaaWtH4YtdSMUUvNGLXUjFFLzRi11IxRS80YtdSMUUvNGLXUjFFLzRi11IxRS80YtdSMUUvNGLXU\njFFLzRi11IxRS80YtdSMUUvNGLXUjFFLzRi11IxRS80YtdSMUUvNGLXUjFFLzRi11IxRS80YtdSM\nUUvNGLXUzOCok2xIsjfJk/McJGl1TuRKfTtwYF5DJM3GoKiTbAGuBXbOd46k1Rp6pb4PuAv47Hgn\nJNmeZDHJ4kyWSZrKxKiTXAe8V1UvrHReVe2oqm1VtW1m6ySdsCFX6iuA65O8DjwKXJnkobmukjS1\nVNXwk5PvAT+vqusmnDf8SSVNpapyrOP+nFpq5oSu1IOf1Cu1NHdeqaUvCaOWmjFqqRmjlpoxaqkZ\no5aaMWqpGaOWmjFqqRmjlpoxaqkZo5aaMWqpGaOWmjFqqRmjlpoxaqkZo5aaMWqpGaOWmjFqqRmj\nlpoxaqkZo5aaMWqpGaOWmjFqqRmjlpoxaqkZo5aaMWqpGaOWmjFqqRmjlpoxaqmZQVEnOSPJriSv\nJDmQ5LJ5D5M0nYWB590PPF1VP0qyEdg0x02SViFVtfIJyenAi8A3atLJ/3vMoPMkTa+qcqzjQ26/\ntwLvAw8m2ZtkZ5JTv3hSku1JFpMsrnKrpFUYcqXeBvwZuKKqdie5H/iwqn65wmO8Uktztpor9WHg\ncFXtXv56F3DxrIZJmq2JUVfVu8CbSc5fPnQVsH+uqyRNbeLtN0CSbwM7gY3AIeCWqvrHCud7+y3N\n2fFuvwdFfaKMWpq/1bymlrSOGLXUjFFLzRi11IxRS80YtdSMUUvNGLXUjFFLzRi11IxRS80YtdSM\nUUvNGLXUjFFLzRi11IxRS80YtdSMUUvNGLXUjFFLzRi11IxRS80YtdSMUUvNGLXUjFFLzRi11IxR\nS80YtdSMUUvNGLXUjFFLzRi11MygqJPcmWRfkpeTPJLk5HkPkzSdiVEn2QzcBmyrqguBDcCN8x4m\naTpDb78XgFOSLACbgLfnN0nSakyMuqreAu4F3gDeAT6oqme/eF6S7UkWkyzOfqakoYbcfp8J3ABs\nBc4GTk1y8xfPq6odVbWtqrbNfqakoYbcfl8NvFZV71fVJ8DjwOXznSVpWkOifgO4NMmmJAGuAg7M\nd5akaQ15Tb0b2AXsAV5afsyOOe+SNKVU1eyfNJn9k0r6nKrKsY77iTKpGaOWmjFqqRmjlpoxaqkZ\no5aaMWqpGaOWmjFqqRmjlpoxaqkZo5aaMWqpGaOWmjFqqRmjlpoxaqkZo5aaMWqpGaOWmjFqqRmj\nlpoxaqkZo5aaMWqpGaOWmjFqqZmFOT3v34C/Djjva8vnrhfrae962grra+9a2Pr14/3FXH5B3lBJ\nFtfTL6lfT3vX01ZYX3vX+lZvv6VmjFpqZuyo19svr19Pe9fTVlhfe9f01lFfU0uavbGv1JJmzKil\nZkaLOsk1SV5NcjDJ3WPtmCTJOUmeS7I/yb4kt4+9aYgkG5LsTfLk2FtWkuSMJLuSvJLkQJLLxt60\nkiR3Ln8fvJzkkSQnj73pi0aJOskG4DfAD4ALgJuSXDDGlgE+BX5WVRcAlwI/WcNbj3Q7cGDsEQPc\nDzxdVd8EvsUa3pxkM3AbsK2qLgQ2ADeOu+poY12pLwEOVtWhqvoYeBS4YaQtK6qqd6pqz/KfP2Lp\nm27zuKtWlmQLcC2wc+wtK0lyOvBd4HcAVfVxVf1z3FUTLQCnJFkANgFvj7znKGNFvRl484ivD7PG\nQwFIci5wEbB73CUT3QfcBXw29pAJtgLvAw8uv1TYmeTUsUcdT1W9BdwLvAG8A3xQVc+Ou+povlE2\nUJLTgMeAO6rqw7H3HE+S64D3quqFsbcMsABcDPy2qi4C/gWs5fdXzmTpjnIrcDZwapKbx111tLGi\nfgs454ivtywfW5OSnMRS0A9X1eNj75ngCuD6JK+z9LLmyiQPjTvpuA4Dh6vqP3c+u1iKfK26Gnit\nqt6vqk+Ax4HLR950lLGifh44L8nWJBtZerPhiZG2rChJWHrNd6Cqfj32nkmq6hdVtaWqzmXpv+sf\nqmrNXU0Aqupd4M0k5y8fugrYP+KkSd4ALk2yafn74irW4Bt78/qnlyuqqk+T3Ao8w9I7iA9U1b4x\ntgxwBfBj4KUkLy4fu6eqnhpxUyc/BR5e/p/7IeCWkfccV1XtTrIL2MPST0X2sgY/MurHRKVmfKNM\nasaopWaMWmrGqKVmjFpqxqilZoxaaubfoK8g7i2guzoAAAAASUVORK5CYII=\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "y54jrmPFjggl",
        "colab_type": "text"
      },
      "source": [
        "## White Image"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "FcUA6p4khjYA",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "white = np.full((10,10), 255)"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "tUYJvBLkhjYC",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 187
        },
        "outputId": "1a86d807-b5ed-4190-dfd5-5af2171dee59"
      },
      "source": [
        "white"
      ],
      "execution_count": 39,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "array([[255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n",
              "       [255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n",
              "       [255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n",
              "       [255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n",
              "       [255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n",
              "       [255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n",
              "       [255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n",
              "       [255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n",
              "       [255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n",
              "       [255, 255, 255, 255, 255, 255, 255, 255, 255, 255]])"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 39
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "LP3nOhWNhjYF",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 34
        },
        "outputId": "5c8dff4c-0536-48e7-b335-aadcd1484949"
      },
      "source": [
        "white.shape"
      ],
      "execution_count": 40,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "(10, 10)"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 40
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "6tIyfxX0hjYJ",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 282
        },
        "outputId": "858fcd54-57e6-4344-c657-0a587827a885"
      },
      "source": [
        "plt.imshow(white, cmap=\"gray\", vmin=0, vmax=255)"
      ],
      "execution_count": 8,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<matplotlib.image.AxesImage at 0x7f75e355ffd0>"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 8
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "vMxctTkMjdcB",
        "colab_type": "text"
      },
      "source": [
        "## Gray Image"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "x0UkCvRwhjYM",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 187
        },
        "outputId": "2dec6fd6-bfda-49f9-b0af-f62a46023f27"
      },
      "source": [
        "gray = np.full((10,10), 170)\n",
        "gray"
      ],
      "execution_count": 42,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "array([[170, 170, 170, 170, 170, 170, 170, 170, 170, 170],\n",
              "       [170, 170, 170, 170, 170, 170, 170, 170, 170, 170],\n",
              "       [170, 170, 170, 170, 170, 170, 170, 170, 170, 170],\n",
              "       [170, 170, 170, 170, 170, 170, 170, 170, 170, 170],\n",
              "       [170, 170, 170, 170, 170, 170, 170, 170, 170, 170],\n",
              "       [170, 170, 170, 170, 170, 170, 170, 170, 170, 170],\n",
              "       [170, 170, 170, 170, 170, 170, 170, 170, 170, 170],\n",
              "       [170, 170, 170, 170, 170, 170, 170, 170, 170, 170],\n",
              "       [170, 170, 170, 170, 170, 170, 170, 170, 170, 170],\n",
              "       [170, 170, 170, 170, 170, 170, 170, 170, 170, 170]])"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 42
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "TmdodhwDhjYP",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 282
        },
        "outputId": "265d66a1-5abc-44a7-c13d-bf55bfcb6859"
      },
      "source": [
        "plt.imshow(gray, cmap=\"gray\", vmin=0, vmax=255)"
      ],
      "execution_count": 10,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<matplotlib.image.AxesImage at 0x7f75e35419b0>"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 10
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\nQe15Sf9qcOjvJP174gPas5b2rqWt0trauxq2/j7JzC99opWom7I9m6Tf2YBlWkt719JWaW3tXe1b\nefoNFEPUQDFdR73W/vP6tbR3LW2V1tbeVb2109fUACav6zM1gAkjaqCYzqK2faftL20ft72nqx2j\n2N5k+0Pbx2wftb27601N2J6yfcT2211vWYrta2wfsP2F7Tnbt3S9aSm2Hx9+HXxu+3XbV3S96WKd\nRG17StKLku6StFXS/ba3drGlgfOSnkiyVdLNkv62irdeaLekua5HNPCCpHeT/EHSn7SKN9veIOlR\nSf0kf5Q0JWlnt6su1dWZ+iZJx5OcSHJO0huS7utoy5KSnE1yePjxD1r4otvQ7aql2d4o6W5J+7re\nshTbV0u6TdLLkpTkXJL/dLtqpGlJV9qelrRO0jcd77lEV1FvkHTqgtuntcpDkSTbmyVtk3So2yUj\nPS/pSUk/dz1khC2S5iW9OnypsM/2+q5HLSbJGUnPSjop6ayk75O83+2qS3GhrCHbV0l6U9JjSQZd\n71mM7XskfZfkk663NDAt6UZJLyXZJulHSav5+sq1WnhGuUXSdZLW236g21WX6irqM5I2XXB74/C+\nVcn2ZVoIen+Sg13vGWG7pHttf62FlzW3236t20mLOi3pdJL/PfM5oIXIV6s7JH2VZD7JT5IOSrq1\n402X6CrqjyVdb3uL7cu1cLHhrY62LMm2tfCaby7Jc13vGSXJU0k2Jtmshb/XD5KsurOJJCX5VtIp\n2zcM79oh6ViHk0Y5Kelm2+uGXxc7tAov7E138YcmOW/7YUnvaeEK4itJjnaxpYHtkh6U9JntT4f3\n/T3JOx1uquQRSfuH/7ifkPRQx3sWleSQ7QOSDmvhuyJHtArfMsrbRIFiuFAGFEPUQDFEDRRD1EAx\nRA0UQ9RAMUQNFPNf3jIDupRhNdIAAAAASUVORK5CYII=\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "EwkNJOvHhjYR",
        "colab_type": "text"
      },
      "source": [
        "## Addressing Pixels"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "zD6sfCFVhjYS",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "gray[0,0] = 0"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "kNuUKyCWhjYV",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 187
        },
        "outputId": "4f77bfda-0b27-48ea-e37d-c4682abcaed8"
      },
      "source": [
        "gray"
      ],
      "execution_count": 12,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "array([[  0, 170, 170, 170, 170, 170, 170, 170, 170, 170],\n",
              "       [170, 170, 170, 170, 170, 170, 170, 170, 170, 170],\n",
              "       [170, 170, 170, 170, 170, 170, 170, 170, 170, 170],\n",
              "       [170, 170, 170, 170, 170, 170, 170, 170, 170, 170],\n",
              "       [170, 170, 170, 170, 170, 170, 170, 170, 170, 170],\n",
              "       [170, 170, 170, 170, 170, 170, 170, 170, 170, 170],\n",
              "       [170, 170, 170, 170, 170, 170, 170, 170, 170, 170],\n",
              "       [170, 170, 170, 170, 170, 170, 170, 170, 170, 170],\n",
              "       [170, 170, 170, 170, 170, 170, 170, 170, 170, 170],\n",
              "       [170, 170, 170, 170, 170, 170, 170, 170, 170, 170]])"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 12
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "hn8_yl4whjYX",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 282
        },
        "outputId": "fb8cb1d7-4068-4848-c00f-674526294c5f"
      },
      "source": [
        "plt.imshow(gray, cmap=\"gray\", vmin=0, vmax=255)"
      ],
      "execution_count": 14,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<matplotlib.image.AxesImage at 0x7f75e34816d8>"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 14
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPUAAAD4CAYAAAA0L6C7AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0\ndHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAJTklEQVR4nO3dT4hdhRmG8edtpqKxnSq0GxOpCZSW\nIBTLIP4BF9qFtqKbLixYaDfZtFaLUNJuunUhogsRgn82Sl2kLoqIWqguugkdo9AmaUFsq1FL00U7\n4iZKvy5mCmlics/c3OOZ+Xh+EMi9czJ5CfPknHvmkqSqkNTHZ6YeIGmxjFpqxqilZoxaasaopWaW\nxvikSUa5pb53794xPq207Zw8eZK1tbV80sdGiXosDzzwwNQTpC3hwIED5/yYl99SM0YtNWPUUjNG\nLTVj1FIzRi01MyjqJLcm+XOSN5Oc+166pMnNjDrJDuBR4DZgH/DdJPvGHiZpPkPO1NcCb1bVW1V1\nCngWuHPcWZLmNSTqXcA7pz0+sfHc/0myP8lqktVFjZO0eQt7m2hVHQQOwnjv/ZY025Az9bvAlac9\n3r3xnKQtaEjUvwe+kmRPkouAu4BfjztL0rxmXn5X1cdJfgS8BOwAnqyqo6MvkzSXQa+pq+oF4IWR\nt0haAN9RJjVj1FIzRi01Y9RSM0YtNTPKPzy4d+9e/5FAaSKeqaVmjFpqxqilZoxaasaopWaMWmrG\nqKVmjFpqxqilZoxaasaopWaMWmrGqKVmjFpqxqilZoxaasaopWaMWmrGqKVmjFpqxqilZoxaasao\npWaMWmrGqKVmjFpqxqilZoxaasaopWZmRp3kyiSvJDmW5GiSez+NYZLmM+S/sv0YuL+qjiT5PPBa\nkt9U1bGRt0maw8wzdVW9X1VHNn7+AXAc2DX2MEnz2dRr6iRXAdcAhz/hY/uTrCZZXVtbW8w6SZs2\nOOoknwN+BdxXVWdVW1UHq2qlqlaWl5cXuVHSJgyKOslnWQ/6map6btxJki7EkLvfAZ4AjlfVQ+NP\nknQhhpypbwS+B9yc5I2NH98aeZekOc38llZV/Q7Ip7BF0gL4jjKpGaOWmjFqqRmjlpoxaqkZo5aa\nMWqpGaOWmjFqqRmjlpoxaqkZo5aaMWqpGaOWmjFqqRmjlpoxaqkZo5aaMWqpGaOWmjFqqRmjlpox\naqkZo5aaMWqpGaOWmjFqqRmjlpoxaqkZo5aaMWqpGaOWmjFqqRmjlpoZHHWSHUleT/L8mIMkXZjN\nnKnvBY6PNUTSYgyKOslu4NvA4+POkXShhp6pHwZ+CvznXAck2Z9kNcnq2traQsZJ2ryZUSe5HfhH\nVb12vuOq6mBVrVTVyvLy8sIGStqcIWfqG4E7kvwVeBa4OcnTo66SNLeZUVfVz6pqd1VdBdwF/Laq\n7h59maS5+H1qqZmlzRxcVa8Cr46yRNJCeKaWmjFqqRmjlpoxaqkZo5aaMWqpGaOWmjFqqRmjlpox\naqkZo5aaMWqpGaOWmjFqqRmjlpoxaqkZo5aaMWqpGaOWmjFqqRmjlpoxaqkZo5aaMWqpGaOWmjFq\nqRmjlpoxaqkZo5aaMWqpGaOWmjFqqRmjlpoxaqkZo5aaGRR1ksuSHErypyTHk1w/9jBJ81kaeNwj\nwItV9Z0kFwE7R9wk6QLMjDrJF4CbgO8DVNUp4NS4syTNa8jl9x7gJPBUkteTPJ7k0jMPSrI/yWqS\n1bW1tYUPlTTMkKiXgG8Aj1XVNcCHwIEzD6qqg1W1UlUry8vLC54paaghUZ8ATlTV4Y3Hh1iPXNIW\nNDPqqvo78E6Sr248dQtwbNRVkuY29O73PcAzG3e+3wJ+MN4kSRdiUNRV9QawMvIWSQvgO8qkZoxa\nasaopWaMWmrGqKVmjFpqxqilZoxaasaopWaMWmrGqKVmjFpqxqilZoxaasaopWaMWmrGqKVmjFpq\nxqilZoxaasaopWaMWmrGqKVmjFpqxqilZoxaasaopWaMWmrGqKVmjFpqxqilZoxaasaopWaMWmpm\nUNRJfpLkaJI/JvllkovHHiZpPjOjTrIL+DGwUlVXAzuAu8YeJmk+Qy+/l4BLkiwBO4H3xpsk6ULM\njLqq3gUeBN4G3gf+XVUvn3lckv1JVpOsrq2tLX6ppEGGXH5fDtwJ7AGuAC5NcveZx1XVwapaqaqV\n5eXlxS+VNMiQy+9vAn+pqpNV9RHwHHDDuLMkzWtI1G8D1yXZmSTALcDxcWdJmteQ19SHgUPAEeAP\nG7/m4Mi7JM1pachBVfUL4Bcjb5G0AL6jTGrGqKVmjFpqxqilZoxaasaopWaMWmrGqKVmjFpqxqil\nZoxaasaopWaMWmrGqKVmjFpqxqilZoxaasaopWaMWmrGqKVmjFpqxqilZoxaasaopWaMWmrGqKVm\njFpqJlW1+E+anAT+NuDQLwL/XPiA8WynvdtpK2yvvVth65er6kuf9IFRoh4qyWpVrUw2YJO2097t\ntBW2196tvtXLb6kZo5aamTrq7faf12+nvdtpK2yvvVt666SvqSUt3tRnakkLZtRSM5NFneTWJH9O\n8maSA1PtmCXJlUleSXIsydEk9069aYgkO5K8nuT5qbecT5LLkhxK8qckx5NcP/Wm80nyk42vgz8m\n+WWSi6fedKZJok6yA3gUuA3YB3w3yb4ptgzwMXB/Ve0DrgN+uIW3nu5e4PjUIwZ4BHixqr4GfJ0t\nvDnJLuDHwEpVXQ3sAO6adtXZpjpTXwu8WVVvVdUp4Fngzom2nFdVvV9VRzZ+/gHrX3S7pl11fkl2\nA98GHp96y/kk+QJwE/AEQFWdqqp/TbtqpiXgkiRLwE7gvYn3nGWqqHcB75z2+ARbPBSAJFcB1wCH\np10y08PAT4H/TD1khj3ASeCpjZcKjye5dOpR51JV7wIPAm8D7wP/rqqXp111Nm+UDZTkc8CvgPuq\nam3qPeeS5HbgH1X12tRbBlgCvgE8VlXXAB8CW/n+yuWsX1HuAa4ALk1y97SrzjZV1O8CV572ePfG\nc1tSks+yHvQzVfXc1HtmuBG4I8lfWX9Zc3OSp6eddE4ngBNV9b8rn0OsR75VfRP4S1WdrKqPgOeA\nGybedJapov498JUke5JcxPrNhl9PtOW8koT113zHq+qhqffMUlU/q6rdVXUV63+uv62qLXc2Aaiq\nvwPvJPnqxlO3AMcmnDTL28B1SXZufF3cwha8sbc0xW9aVR8n+RHwEut3EJ+sqqNTbBngRuB7wB+S\nvLHx3M+r6oUJN3VyD/DMxl/ubwE/mHjPOVXV4SSHgCOsf1fkdbbgW0Z9m6jUjDfKpGaMWmrGqKVm\njFpqxqilZoxaasaopWb+C2xt/aip2LfwAAAAAElFTkSuQmCC\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "Ijnc-UZxhjYb",
        "colab_type": "text"
      },
      "source": [
        "## Addressing Ranges"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "PN_ZQp9yhjYc",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 187
        },
        "outputId": "b90be76e-2d02-46a1-d43e-5500d090439d"
      },
      "source": [
        "gray"
      ],
      "execution_count": 44,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "array([[  0, 170, 170, 170, 170, 170, 170, 170, 170, 170],\n",
              "       [170, 170, 170, 170, 170, 170, 170, 170, 170, 170],\n",
              "       [170, 170, 170, 170, 170, 170, 170, 170, 170, 170],\n",
              "       [170, 170, 170, 170, 170, 170, 170, 170, 170, 170],\n",
              "       [170, 170, 170, 170, 170, 170, 170, 170, 170, 170],\n",
              "       [170, 170, 170, 170, 170, 170, 170, 170, 170, 170],\n",
              "       [170, 170, 170, 170, 170, 170, 170, 170, 170, 170],\n",
              "       [170, 170, 170, 170, 170, 170, 170, 170, 170, 170],\n",
              "       [170, 170, 170, 170, 170, 170, 170, 170, 170, 170],\n",
              "       [170, 170, 170, 170, 170, 170, 170, 170, 170, 170]])"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 44
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "ed0vz0ZXhjYf",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 187
        },
        "outputId": "c1f9551f-6c8d-47e7-d701-d8f03afc1f63"
      },
      "source": [
        "gray[0:8,0:2] = 0\n",
        "gray"
      ],
      "execution_count": 45,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "array([[  0,   0, 170, 170, 170, 170, 170, 170, 170, 170],\n",
              "       [  0,   0, 170, 170, 170, 170, 170, 170, 170, 170],\n",
              "       [  0,   0, 170, 170, 170, 170, 170, 170, 170, 170],\n",
              "       [  0,   0, 170, 170, 170, 170, 170, 170, 170, 170],\n",
              "       [  0,   0, 170, 170, 170, 170, 170, 170, 170, 170],\n",
              "       [  0,   0, 170, 170, 170, 170, 170, 170, 170, 170],\n",
              "       [  0,   0, 170, 170, 170, 170, 170, 170, 170, 170],\n",
              "       [  0,   0, 170, 170, 170, 170, 170, 170, 170, 170],\n",
              "       [170, 170, 170, 170, 170, 170, 170, 170, 170, 170],\n",
              "       [170, 170, 170, 170, 170, 170, 170, 170, 170, 170]])"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 45
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "OrQux2J0hjYh",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 282
        },
        "outputId": "77f9af00-94cf-40ef-bdd5-a693054632f6"
      },
      "source": [
        "plt.imshow(gray, cmap=\"gray\", vmin=0, vmax=255)"
      ],
      "execution_count": 46,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<matplotlib.image.AxesImage at 0x7f75e3036198>"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 46
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPUAAAD4CAYAAAA0L6C7AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0\ndHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAJPklEQVR4nO3dT6ilBR2H8efb3ETH0oTaNCM5A1EM\nQiiX8A+0UBdakZsWBga5mU3lHwQZ27SdRUQtQhi0NoouRhciogXVos3QdRRqZgpETccUp0WOuBnF\nX4t7imnGmfPeM+f1vffH8wFhzjnv3Pki9/F9z3uPTKoKSX18auoBkpbLqKVmjFpqxqilZoxaamZl\njC+aZEvdUt+9e/fUE6QNOXHiBCdPnszHvTZK1FvN/v37p54gbci+ffvO+ZqX31IzRi01Y9RSM0Yt\nNWPUUjNGLTUzKOoktyb5e5KXk5z7Xrqkyc2NOsk24FfAbcAe4HtJ9ow9TNJihpypvw68XFWvVNUp\n4Ang9nFnSVrUkKh3AG+c9vj47Ln/k2RvkrUka8saJ2njlvYx0ao6AByArffZb6mTIWfqN4ErT3u8\nc/acpE1oSNR/Br6cZFeSi4A7gKfHnSVpUXMvv6vqwyQ/Ap4HtgG/rqojoy+TtJBB76mr6lng2ZG3\nSFoCP1EmNWPUUjNGLTVj1FIzRi01Y9RSM0YtNWPUUjNGLTVj1FIzRi01Y9RSM0YtNWPUUjNGLTVj\n1FIzRi01Y9RSM0YtNWPUUjNGLTVj1FIzRi01Y9RSM0YtNWPUUjNGLTVj1FIzRi01Y9RSM0YtNWPU\nUjNGLTVj1FIzRi01MzfqJFcm+UOSo0mOJLnnkxgmaTErA475ELi/qg4n+SzwQpLfVdXRkbdJWsDc\nM3VVvVVVh2e/fg84BuwYe5ikxQw5U/9PkquAa4BDH/PaXmDvUlZJWtjgqJN8BngSuLeqTp75elUd\nAA7Mjq2lLZS0IYPufif5NOtBP1ZVT407SdKFGHL3O8AjwLGq+vn4kyRdiCFn6huB7wM3JXlp9s83\nR94laUFz31NX1Z+AfAJbJC2BnyiTmjFqqRmjlpoxaqkZo5aaMWqpGaOWmjFqqRmjlpoxaqkZo5aa\nMWqpGaOWmjFqqRmjlpoxaqkZo5aaMWqpGaOWmjFqqRmjlpoxaqkZo5aaMWqpGaOWmjFqqRmjlpox\naqkZo5aaMWqpGaOWmjFqqRmjlpoxaqmZwVEn2ZbkxSTPjDlI0oXZyJn6HuDYWEMkLcegqJPsBL4F\nPDzuHEkXauiZ+hfAA8BH5zogyd4ka0nWlrJM0kLmRp3k28A7VfXC+Y6rqgNVtVpVq0tbJ2nDhpyp\nbwS+k+Q14AngpiSPjrpK0sLmRl1VD1bVzqq6CrgD+H1V3Tn6MkkL8efUUjMrGzm4qv4I/HGUJZKW\nwjO11IxRS80YtdSMUUvNGLXUjFFLzRi11IxRS80YtdSMUUvNGLXUjFFLzRi11IxRS80YtdSMUUvN\nGLXUjFFLzRi11IxRS80YtdSMUUvNGLXUjFFLzRi11IxRS80YtdSMUUvNGLXUjFFLzRi11IxRS80Y\ntdSMUUvNGLXUzKCok3wuycEkf0tyLMn1Yw+TtJiVgcf9Eniuqr6b5CJg+4ibJF2AuVEnuRz4BvAD\ngKo6BZwad5akRQ25/N4FnAB+k+TFJA8nufTMg5LsTbKWZG3pKyUNNiTqFeBa4KGqugZ4H9h35kFV\ndaCqVqtqdckbJW3AkKiPA8er6tDs8UHWI5e0Cc2NuqreBt5I8pXZUzcDR0ddJWlhQ+9+/xh4bHbn\n+xXgrvEmSboQg6KuqpcA3ytLW4CfKJOaMWqpGaOWmjFqqRmjlpoxaqkZo5aaMWqpGaOWmjFqqRmj\nlpoxaqkZo5aaMWqpGaOWmjFqqRmjlpoxaqkZo5aaMWqpGaOWmjFqqRmjlpoxaqkZo5aaMWqpmaF/\nl9aG7N69m/3794/xpSXN4ZlaasaopWaMWmrGqKVmjFpqxqilZoxaamZQ1EnuS3IkyV+TPJ7k4rGH\nSVrM3KiT7ADuBlar6mpgG3DH2MMkLWbo5fcKcEmSFWA78M/xJkm6EHOjrqo3gZ8BrwNvAe9W1W/P\nPC7J3iRrSdZOnjy5/KWSBhly+X0FcDuwC/gicGmSO888rqoOVNVqVa1edtlly18qaZAhl9+3AK9W\n1Ymq+gB4Crhh3FmSFjUk6teB65JsTxLgZuDYuLMkLWrIe+pDwEHgMPCX2e85MPIuSQsa9P9TV9VP\ngZ+OvEXSEviJMqkZo5aaMWqpGaOWmjFqqRmjlpoxaqkZo5aaMWqpGaOWmjFqqRmjlpoxaqkZo5aa\nMWqpGaOWmjFqqRmjlpoxaqkZo5aaMWqpGaOWmjFqqRmjlpoxaqkZo5aaMWqpmVTV8r9ocgL4x4BD\nPw/8a+kDxrOV9m6lrbC19m6GrV+qqi983AujRD1UkrWqWp1swAZtpb1baStsrb2bfauX31IzRi01\nM3XUW+0vr99Ke7fSVthaezf11knfU0tavqnP1JKWzKilZiaLOsmtSf6e5OUk+6baMU+SK5P8IcnR\nJEeS3DP1piGSbEvyYpJnpt5yPkk+l+Rgkr8lOZbk+qk3nU+S+2bfB39N8niSi6fedKZJok6yDfgV\ncBuwB/hekj1TbBngQ+D+qtoDXAf8cBNvPd09wLGpRwzwS+C5qvoq8DU28eYkO4C7gdWquhrYBtwx\n7aqzTXWm/jrwclW9UlWngCeA2yfacl5V9VZVHZ79+j3Wv+l2TLvq/JLsBL4FPDz1lvNJcjnwDeAR\ngKo6VVX/nnbVXCvAJUlWgO3APyfec5apot4BvHHa4+Ns8lAAklwFXAMcmnbJXL8AHgA+mnrIHLuA\nE8BvZm8VHk5y6dSjzqWq3gR+BrwOvAW8W1W/nXbV2bxRNlCSzwBPAvdW1cmp95xLkm8D71TVC1Nv\nGWAFuBZ4qKquAd4HNvP9lStYv6LcBXwRuDTJndOuOttUUb8JXHna452z5zalJJ9mPejHquqpqffM\ncSPwnSSvsf625qYkj0476ZyOA8er6r9XPgdZj3yzugV4tapOVNUHwFPADRNvOstUUf8Z+HKSXUku\nYv1mw9MTbTmvJGH9Pd+xqvr51HvmqaoHq2pnVV3F+r/X31fVpjubAFTV28AbSb4ye+pm4OiEk+Z5\nHbguyfbZ98XNbMIbeytT/KFV9WGSHwHPs34H8ddVdWSKLQPcCHwf+EuSl2bP/aSqnp1wUyc/Bh6b\n/cf9FeCuifecU1UdSnIQOMz6T0VeZBN+ZNSPiUrNeKNMasaopWaMWmrGqKVmjFpqxqilZoxaauY/\n5KTurhKDwJ4AAAAASUVORK5CYII=\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "HngU9xQFhjYk",
        "colab_type": "text"
      },
      "source": [
        "## Colors"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "FCYCBWR2hjYl",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "rgb = np.zeros((10,10,3))"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "7Fx2HSvZhjYn",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 282
        },
        "outputId": "a94b2b30-38d1-46d7-f864-f24ebac8b710"
      },
      "source": [
        "plt.imshow(rgb, vmin=0, vmax=255)"
      ],
      "execution_count": 32,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<matplotlib.image.AxesImage at 0x7f75e3123390>"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 32
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPUAAAD4CAYAAAA0L6C7AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0\ndHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAJHUlEQVR4nO3dTYhdhR2G8edtxqDRokI3mkhNQSwi\ntEoQP0opasGiaBddKNiFm2xq/aBFrNBld1J0UQohVQqKLqILEVEXldJNg2MiaBItIVqNH2hpq9KN\niv8uZtpGk8w9uXNvz8zf57fKnJx7eZF5POfeuWFSVUjq4ytjD5A0W0YtNWPUUjNGLTVj1FIzC/N4\n0iS+pS7NWVXlWMe9UkvNGLXUjFFLzRi11IxRS80YtdSMUUvNDIo6yTVJXk1yMMnd8x4laXqZ9E8v\nk2wA/gJ8HzgMPA/cVFX7V3iMHz6R5mw1Hz65BDhYVYeq6mPgUeCGWY6TNDtDot4MvHnE14eXj31O\nku1JFpMszmqcpBM3s89+V9UOYAd4+y2NaciV+i3gnCO+3rJ8TNIaNCTq54HzkmxNshG4EXhivrMk\nTWvi7XdVfZrkVuAZYAPwQFXtm/sySVOZ+COtqZ7U19TS3PnvqaUvCaOWmjFqqRmjlpoxaqkZo5aa\nMWqpGaOWmjFqqRmjlpoxaqkZo5aaMWqpGaOWmjFqqRmjlpoxaqkZo5aaMWqpGaOWmjFqqRmjlpox\naqkZo5aaMWqpGaOWmjFqqRmjlpoxaqkZo5aaMWqpGaOWmjFqqRmjlpoxaqmZiVEnOSfJc0n2J9mX\n5Pb/xzBJ00lVrXxCchZwVlXtSfJV4AXgh1W1f4XHrPykklatqnKs4xOv1FX1TlXtWf7zR8ABYPNs\n50malYUTOTnJucBFwO5j/N12YPtMVkma2sTb7/+emJwG/BH4VVU9PuFcb7+lOZv69hsgyUnAY8DD\nk4KWNK4hb5QF+D3w96q6Y9CTeqWW5u54V+ohUX8H+BPwEvDZ8uF7quqpFR5j1NKcTR31NIxamr9V\nvaaWtH4YtdSMUUvNGLXUjFFLzRi11IxRS80YtdSMUUvNGLXUjFFLzRi11IxRS80YtdSMUUvNGLXU\njFFLzRi11IxRS80YtdSMUUvNGLXUjFFLzRi11IxRS80YtdSMUUvNGLXUjFFLzRi11IxRS80YtdSM\nUUvNGLXUzOCok2xIsjfJk/McJGl1TuRKfTtwYF5DJM3GoKiTbAGuBXbOd46k1Rp6pb4PuAv47Hgn\nJNmeZDHJ4kyWSZrKxKiTXAe8V1UvrHReVe2oqm1VtW1m6ySdsCFX6iuA65O8DjwKXJnkobmukjS1\nVNXwk5PvAT+vqusmnDf8SSVNpapyrOP+nFpq5oSu1IOf1Cu1NHdeqaUvCaOWmjFqqRmjlpoxaqkZ\no5aaMWqpGaOWmjFqqRmjlpoxaqkZo5aaMWqpGaOWmjFqqRmjlpoxaqkZo5aaMWqpGaOWmjFqqRmj\nlpoxaqkZo5aaMWqpGaOWmjFqqRmjlpoxaqkZo5aaMWqpGaOWmjFqqRmjlpoxaqmZQVEnOSPJriSv\nJDmQ5LJ5D5M0nYWB590PPF1VP0qyEdg0x02SViFVtfIJyenAi8A3atLJ/3vMoPMkTa+qcqzjQ26/\ntwLvAw8m2ZtkZ5JTv3hSku1JFpMsrnKrpFUYcqXeBvwZuKKqdie5H/iwqn65wmO8Uktztpor9WHg\ncFXtXv56F3DxrIZJmq2JUVfVu8CbSc5fPnQVsH+uqyRNbeLtN0CSbwM7gY3AIeCWqvrHCud7+y3N\n2fFuvwdFfaKMWpq/1bymlrSOGLXUjFFLzRi11IxRS80YtdSMUUvNGLXUjFFLzRi11IxRS80YtdSM\nUUvNGLXUjFFLzRi11IxRS80YtdSMUUvNGLXUjFFLzRi11IxRS80YtdSMUUvNGLXUjFFLzRi11IxR\nS80YtdSMUUvNGLXUjFFLzRi11MygqJPcmWRfkpeTPJLk5HkPkzSdiVEn2QzcBmyrqguBDcCN8x4m\naTpDb78XgFOSLACbgLfnN0nSakyMuqreAu4F3gDeAT6oqme/eF6S7UkWkyzOfqakoYbcfp8J3ABs\nBc4GTk1y8xfPq6odVbWtqrbNfqakoYbcfl8NvFZV71fVJ8DjwOXznSVpWkOifgO4NMmmJAGuAg7M\nd5akaQ15Tb0b2AXsAV5afsyOOe+SNKVU1eyfNJn9k0r6nKrKsY77iTKpGaOWmjFqqRmjlpoxaqkZ\no5aaMWqpGaOWmjFqqRmjlpoxaqkZo5aaMWqpGaOWmjFqqRmjlpoxaqkZo5aaMWqpGaOWmjFqqRmj\nlpoxaqkZo5aaMWqpGaOWmjFqqZmFOT3v34C/Djjva8vnrhfrae962grra+9a2Pr14/3FXH5B3lBJ\nFtfTL6lfT3vX01ZYX3vX+lZvv6VmjFpqZuyo19svr19Pe9fTVlhfe9f01lFfU0uavbGv1JJmzKil\nZkaLOsk1SV5NcjDJ3WPtmCTJOUmeS7I/yb4kt4+9aYgkG5LsTfLk2FtWkuSMJLuSvJLkQJLLxt60\nkiR3Ln8fvJzkkSQnj73pi0aJOskG4DfAD4ALgJuSXDDGlgE+BX5WVRcAlwI/WcNbj3Q7cGDsEQPc\nDzxdVd8EvsUa3pxkM3AbsK2qLgQ2ADeOu+poY12pLwEOVtWhqvoYeBS4YaQtK6qqd6pqz/KfP2Lp\nm27zuKtWlmQLcC2wc+wtK0lyOvBd4HcAVfVxVf1z3FUTLQCnJFkANgFvj7znKGNFvRl484ivD7PG\nQwFIci5wEbB73CUT3QfcBXw29pAJtgLvAw8uv1TYmeTUsUcdT1W9BdwLvAG8A3xQVc+Ou+povlE2\nUJLTgMeAO6rqw7H3HE+S64D3quqFsbcMsABcDPy2qi4C/gWs5fdXzmTpjnIrcDZwapKbx111tLGi\nfgs454ivtywfW5OSnMRS0A9X1eNj75ngCuD6JK+z9LLmyiQPjTvpuA4Dh6vqP3c+u1iKfK26Gnit\nqt6vqk+Ax4HLR950lLGifh44L8nWJBtZerPhiZG2rChJWHrNd6Cqfj32nkmq6hdVtaWqzmXpv+sf\nqmrNXU0Aqupd4M0k5y8fugrYP+KkSd4ALk2yafn74irW4Bt78/qnlyuqqk+T3Ao8w9I7iA9U1b4x\ntgxwBfBj4KUkLy4fu6eqnhpxUyc/BR5e/p/7IeCWkfccV1XtTrIL2MPST0X2sgY/MurHRKVmfKNM\nasaopWaMWmrGqKVmjFpqxqilZoxaaubfoK8g7i2guzoAAAAASUVORK5CYII=\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "scrolled": false,
        "id": "C_oy8KD7hjYt",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "rgb[:,:,2] = 255"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "IuKkpr0fhjYw",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 299
        },
        "outputId": "243c7e6a-07ea-46b5-d9f5-453fd4238157"
      },
      "source": [
        "plt.imshow(rgb, vmin=0, vmax=255)"
      ],
      "execution_count": 34,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Clipping input data to the valid range for imshow with RGB data ([0..1] for floats or [0..255] for integers).\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<matplotlib.image.AxesImage at 0x7f75e30f5828>"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 34
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPUAAAD4CAYAAAA0L6C7AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0\ndHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAJMElEQVR4nO3dz4tdhR2G8edtpqLR0grNxkSaLKQl\nFErKIFrBhbrQKrrpQsFCu8mmP2wRRPs3FLGLIgSrG0UX0YWIqAV10U1wjIImaUGsTWItHRetxU2U\nfruYEdL8umdu7vHMfHk+IOTee3J9CfPk3HvmhklVIamPr0w9QNJiGbXUjFFLzRi11IxRS80sjfGk\nyTcLdo/x1JIA+ICqj3OuR0aJei3olXGeWhKwfN5HfPktNWPUUjNGLTVj1FIzRi01Y9RSM4OiTnJr\nkr8keS/Jg2OPkjS/mVEn2Qb8HrgN2Avck2Tv2MMkzWfImfpa4L2qer+qTgHPAHeNO0vSvIZEvRM4\ncdrtk+v3/Z8k+5OsJFmB1UXtk7RBC7tQVlUHqmq5qpZhx6KeVtIGDYn6Q+Dq027vWr9P0iY0JOo3\ngGuS7ElyCXA38Py4syTNa+a/0qqqz5P8HHgZ2AY8XlVHRl8maS6D/ullVb0IvDjyFkkL4CfKpGaM\nWmrGqKVmjFpqxqilZoxaasaopWaMWmrGqKVmjFpqxqilZoxaasaopWaMWmrGqKVmjFpqxqilZoxa\nasaopWaMWmrGqKVmjFpqxqilZoxaasaopWaMWmrGqKVmjFpqxqilZoxaasaopWaMWmrGqKVmjFpq\nxqilZmZGneTqJK8lOZrkSJL7voxhkuazNOCYz4H7q+pwkq8Bbyb5Y1UdHXmbpDnMPFNX1UdVdXj9\n1/8BjgE7xx4maT4bek+dZDewDzh0jsf2J1lJsgKri1knacMGR53kCuBZ4FdV9cmZj1fVgaparqpl\n2LHIjZI2YFDUSb7KWtBPVdVz406SdDGGXP0O8AfgWFU9PP4kSRdjyJn6BuDHwE1J3l7/74cj75I0\np5nf0qqqPwH5ErZIWgA/USY1Y9RSM0YtNWPUUjNGLTVj1FIzRi01Y9RSM0YtNWPUUjNGLTVj1FIz\nRi01Y9RSM0YtNWPUUjNGLTVj1FIzRi01Y9RSM0YtNWPUUjNGLTVj1FIzRi01Y9RSM0YtNWPUUjNG\nLTVj1FIzRi01Y9RSM0YtNWPUUjODo06yLclbSV4Yc5Cki7ORM/V9wLGxhkhajEFRJ9kF3A48Nu4c\nSRdr6Jn6EeAB4L/nOyDJ/iQrSVZgdSHjJG3czKiT3AH8s6revNBxVXWgqparahl2LGygpI0Zcqa+\nAbgzyQfAM8BNSZ4cdZWkuc2MuqoeqqpdVbUbuBt4taruHX2ZpLn4fWqpmaWNHFxVrwOvj7JE0kJ4\nppaaMWqpGaOWmjFqqRmjlpoxaqkZo5aaMWqpGaOWmjFqqRmjlpoxaqkZo5aaMWqpGaOWmjFqqRmj\nlpoxaqkZo5aaMWqpGaOWmjFqqRmjlpoxaqkZo5aaMWqpGaOWmjFqqRmjlpoxaqkZo5aaMWqpGaOW\nmjFqqRmjlpoZFHWSbyQ5mOTPSY4luX7sYZLmszTwuN8BL1XVj5JcAmwfcZOkizAz6iRfB24EfgJQ\nVaeAU+POkjSvIS+/9wCrwBNJ3kryWJLLzzwoyf4kK0lW1g6XNIUhUS8B3wcerap9wKfAg2ceVFUH\nqmq5qpZhx4JnShpqSNQngZNVdWj99kHWIpe0Cc2Muqr+AZxI8u31u24Gjo66StLchl79/gXw1PqV\n7/eBn443SdLFGBR1Vb0NLI+8RdIC+IkyqRmjlpoxaqkZo5aaMWqpGaOWmjFqqRmjlpoxaqkZo5aa\nMWqpGaOWmjFqqRmjlpoxaqkZo5aaMWqpGaOWmjFqqRmjlpoxaqkZo5aaMWqpGaOWmjFqqRmjlpox\naqkZo5aaMWqpGaOWmjFqqRmjlpoxaqkZo5aaGRR1kl8nOZLk3SRPJ7l07GGS5jMz6iQ7gV8Cy1X1\nXWAbcPfYwyTNZ+jL7yXgsiRLwHbg7+NNknQxZkZdVR8CvwWOAx8B/66qV848Lsn+JCtJVmB18Usl\nDTLk5feVwF3AHuAq4PIk9555XFUdqKrlqlqGHYtfKmmQIS+/bwH+WlWrVfUZ8Bzwg3FnSZrXkKiP\nA9cl2Z4kwM3AsXFnSZrXkPfUh4CDwGHgnfXfc2DkXZLmlKpa/JNmuWBl4c8r6QvLVK3kXI/4iTKp\nGaOWmjFqqRmjlpoxaqkZo5aaMWqpGaOWmjFqqRmjlpoxaqkZo5aaMWqpGaOWmjFqqRmjlpoxaqkZ\no5aaMWqpGaOWmjFqqRmjlpoxaqkZo5aaMWqpGaOWmjFqqZmRfpZWVoG/DTj0m8DHCx8wnq20dytt\nha21dzNs/VZVnfMHwY8S9VBJVtZ+SP3WsJX2bqWtsLX2bvatvvyWmjFqqZmpo95qP7x+K+3dSlth\na+3d1FsnfU8tafGmPlNLWjCjlpqZLOoktyb5S5L3kjw41Y5Zklyd5LUkR5McSXLf1JuGSLItyVtJ\nXph6y4Uk+UaSg0n+nORYkuun3nQhSX69/nXwbpKnk1w69aYzTRJ1km3A74HbgL3APUn2TrFlgM+B\n+6tqL3Ad8LNNvPV09wHHph4xwO+Al6rqO8D32MSbk+wEfgksV9V3gW3A3dOuOttUZ+prgfeq6v2q\nOgU8A9w10ZYLqqqPqurw+q//w9oX3c5pV11Ykl3A7cBjU2+5kCRfB24E/gBQVaeq6l/TrpppCbgs\nyRKwHfj7xHvOMlXUO4ETp90+ySYPBSDJbmAfcGjaJTM9AjwA/HfqITPsAVaBJ9bfKjyW5PKpR51P\nVX0I/BY4DnwE/LuqXpl21dm8UDZQkiuAZ4FfVdUnU+85nyR3AP+sqjen3jLAEvB94NGq2gd8Cmzm\n6ytXsvaKcg9wFXB5knunXXW2qaL+ELj6tNu71u/blJJ8lbWgn6qq56beM8MNwJ1JPmDtbc1NSZ6c\ndtJ5nQROVtUXr3wOshb5ZnUL8NeqWq2qz4DngB9MvOksU0X9BnBNkj1JLmHtYsPzE225oCRh7T3f\nsap6eOo9s1TVQ1W1q6p2s/bn+mpVbbqzCUBV/QM4keTb63fdDBydcNIsx4Hrkmxf/7q4mU14YW9p\niv9pVX2e5OfAy6xdQXy8qo5MsWWAG4AfA+8keXv9vt9U1YsTburkF8BT63+5vw/8dOI951VVh5Ic\nBA6z9l2Rt9iEHxn1Y6JSM14ok5oxaqkZo5aaMWqpGaOWmjFqqRmjlpr5H1QO+YuYyxzQAAAAAElF\nTkSuQmCC\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "J1MUANGthjY1",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "rgb[0,0,0] = 170"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "dzu2qf17hjY8",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 299
        },
        "outputId": "73232b57-a194-4994-a006-5e4394b14c58"
      },
      "source": [
        "plt.imshow(rgb, vmin=0, vmax=255)"
      ],
      "execution_count": 36,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Clipping input data to the valid range for imshow with RGB data ([0..1] for floats or [0..255] for integers).\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<matplotlib.image.AxesImage at 0x7f75e30cccf8>"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 36
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPUAAAD4CAYAAAA0L6C7AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0\ndHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAJR0lEQVR4nO3dzYtdhR2H8efbjFKjpRXMxkSaLIol\nCEUZxBdwoS7sC7rpwoJC3WTTWluEYvs3iOhChGB1U6mL6EKKaAvaRTfBSRQ0iYKo1fhCx0W1dJOK\nvy5mhDRv98zNPT0zvz4fEHLvHK9fZR7PvWduclNVSOrja1MPkLRYRi01Y9RSM0YtNWPUUjNLYzzo\nZbmsdrN74Y97aOGPKG1V71H1ac70lVGi3s1uVlhZ+OOe8d9A+r+0fNav+PRbasaopWaMWmrGqKVm\njFpqxqilZgZFneS2JG8leTvJA2OPkjS/mVEn2QY8Cnwf2Av8JMnesYdJms+QM/W1wNtV9U5VnQCe\nBu4Yd5akeQ2JeifwwUm3j6/f91+S7EuykmRlldVF7ZO0QQu7UFZV+6tquaqWd7BjUQ8raYOGRP0h\ncMVJt3et3ydpExoS9SvAd5LsSXIhcCfw3LizJM1r5u/SqqovkvwceBHYBjxRVUdGXyZpLoN+62VV\nPQ88P/IWSQvgO8qkZoxaasaopWaMWmrGqKVmRvmDBw/hHxIoTcUztdSMUUvNGLXUjFFLzRi11IxR\nS80YtdSMUUvNGLXUjFFLzRi11IxRS80YtdSMUUvNGLXUjFFLzRi11IxRS80YtdSMUUvNGLXUjFFL\nzRi11IxRS80YtdSMUUvNGLXUjFFLzRi11MzMqJNckeTlJEeTHEly3/9imKT5DPko2y+A+6vqcJJv\nAIeS/Lmqjo68TdIcZp6pq+rjqjq8/ut/AseAnWMPkzSfDb2mTrIbuBo4eIav7UuykmQFVhezTtKG\nDY46ySXAM8Avq+rzU79eVfurarmqlmHHIjdK2oBBUSe5gLWgn6qqZ8edJOl8DLn6HeB3wLGqemj8\nSZLOx5Az9Y3A3cDNSV5b/+sHI++SNKeZP9Kqqr8C+R9skbQAvqNMasaopWaMWmrGqKVmjFpqxqil\nZoxaasaopWaMWmrGqKVmjFpqxqilZoxaasaopWaMWmrGqKVmjFpqxqilZoxaasaopWaMWmrGqKVm\njFpqxqilZoxaasaopWaMWmrGqKVmjFpqxqilZoxaasaopWaMWmrGqKVmBkedZFuSV5P8ccxBks7P\nRs7U9wHHxhoiaTEGRZ1kF/BD4PFx50g6X0PP1A8Dvwa+PNsBSfYlWUmyAqsLGSdp42ZGneRHwN+r\n6tC5jquq/VW1XFXLsGNhAyVtzJAz9Y3A7UneA54Gbk7y+1FXSZrbzKir6jdVtauqdgN3Ai9V1V2j\nL5M0F39OLTWztJGDq+ovwF9GWSJpITxTS80YtdSMUUvNGLXUjFFLzRi11IxRS80YtdSMUUvNGLXU\njFFLzRi11IxRS80YtdSMUUvNGLXUjFFLzRi11IxRS80YtdSMUUvNGLXUjFFLzRi11IxRS80YtdSM\nUUvNGLXUjFFLzRi11IxRS80YtdSMUUvNGLXUjFFLzQyKOsm3khxI8maSY0muH3uYpPksDTzuEeCF\nqvpxkguB7SNuknQeZkad5JvATcBPAarqBHBi3FmS5jXk6fceYBV4MsmrSR5PcvGpByXZl2Qlycra\n4ZKmMCTqJeAa4LGquhr4F/DAqQdV1f6qWq6qZdix4JmShhoS9XHgeFUdXL99gLXIJW1CM6Ouqk+A\nD5JcuX7XLcDRUVdJmtvQq9/3Ak+tX/l+B7hnvEmSzsegqKvqNWB55C2SFsB3lEnNGLXUjFFLzRi1\n1IxRS80YtdSMUUvNGLXUjFFLzRi11IxRS80YtdSMUUvNGLXUjFFLzRi11IxRS80YtdSMUUvNGLXU\njFFLzRi11IxRS80YtdSMUUvNGLXUjFFLzRi11IxRS80YtdSMUUvNGLXUjFFLzRi11MygqJP8KsmR\nJG8k+UOSr489TNJ8ZkadZCfwC2C5qq4CtgF3jj1M0nyGPv1eAi5KsgRsBz4ab5Kk8zEz6qr6EHgQ\neB/4GPisqv506nFJ9iVZSbICq4tfKmmQIU+/LwXuAPYAlwMXJ7nr1OOqan9VLVfVMuxY/FJJgwx5\n+n0r8G5VrVbVv4FngRvGnSVpXkOifh+4Lsn2JAFuAY6NO0vSvIa8pj4IHAAOA6+v/z37R94laU6p\nqsU/aJYLVhb+uJK+skzVSs70Fd9RJjVj1FIzRi01Y9RSM0YtNWPUUjNGLTVj1FIzRi01Y9RSM0Yt\nNWPUUjNGLTVj1FIzRi01Y9RSM0YtNWPUUjNGLTVj1FIzRi01Y9RSM0YtNWPUUjNGLTVj1FIzRi01\nM9JnaWUV+NuAQy8DPl34gPFspb1baStsrb2bYeu3q+qMHwQ/StRDJVlZ+5D6rWEr7d1KW2Fr7d3s\nW336LTVj1FIzU0e91T68fivt3UpbYWvt3dRbJ31NLWnxpj5TS1owo5aamSzqJLcleSvJ20kemGrH\nLEmuSPJykqNJjiS5b+pNQyTZluTVJH+cesu5JPlWkgNJ3kxyLMn1U286lyS/Wv8+eCPJH5J8fepN\np5ok6iTbgEeB7wN7gZ8k2TvFlgG+AO6vqr3AdcDPNvHWk90HHJt6xACPAC9U1XeB77GJNyfZCfwC\nWK6qq4BtwJ3TrjrdVGfqa4G3q+qdqjoBPA3cMdGWc6qqj6vq8Pqv/8naN93OaVedW5JdwA+Bx6fe\nci5JvgncBPwOoKpOVNU/pl010xJwUZIlYDvw0cR7TjNV1DuBD066fZxNHgpAkt3A1cDBaZfM9DDw\na+DLqYfMsAdYBZ5cf6nweJKLpx51NlX1IfAg8D7wMfBZVf1p2lWn80LZQEkuAZ4BfllVn0+952yS\n/Aj4e1UdmnrLAEvANcBjVXU18C9gM19fuZS1Z5R7gMuBi5PcNe2q000V9YfAFSfd3rV+36aU5ALW\ngn6qqp6des8MNwK3J3mPtZc1Nyf5/bSTzuo4cLyqvnrmc4C1yDerW4F3q2q1qv4NPAvcMPGm00wV\n9SvAd5LsSXIhaxcbnptoyzklCWuv+Y5V1UNT75mlqn5TVbuqajdr/11fqqpNdzYBqKpPgA+SXLl+\n1y3A0QknzfI+cF2S7evfF7ewCS/sLU3xD62qL5L8HHiRtSuIT1TVkSm2DHAjcDfwepLX1u/7bVU9\nP+GmTu4Fnlr/n/s7wD0T7zmrqjqY5ABwmLWfirzKJnzLqG8TlZrxQpnUjFFLzRi11IxRS80YtdSM\nUUvNGLXUzH8AwTT9SGPYGTkAAAAASUVORK5CYII=\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "7sDQ4j46hjY_",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        ""
      ],
      "execution_count": 0,
      "outputs": []
    }
  ]
}